2008-03-11 Claudio Saavedra <csaavedra@alumnos.utalca.cl>
* io-bmp.c: (gdk_pixbuf__bmp_image_stop_load): Set a
GDK_ERROR_CORRUPT_IMAGE error if the loader is closed while
still reading the headers. (#505085)
svn path=/trunk/; revision=19757
+2008-03-11 Claudio Saavedra <csaavedra@alumnos.utalca.cl>
+
+ * io-bmp.c: (gdk_pixbuf__bmp_image_stop_load): Set a
+ GDK_ERROR_CORRUPT_IMAGE error if the loader is closed while
+ still reading the headers. (#505085)
+
2008-03-11 Claudio Saavedra <csaavedra@alumnos.utalca.cl>
* io-bmp.c: (DecodeHeader): Check for the BMP header magic numbers
*/
static gboolean gdk_pixbuf__bmp_image_stop_load(gpointer data, GError **error)
{
+ gboolean retval = TRUE;
+
struct bmp_progressive_state *context =
(struct bmp_progressive_state *) data;
if (context->pixbuf)
g_object_unref(context->pixbuf);
+ if (context->read_state == READ_STATE_HEADERS) {
+ if (error && *error == NULL) {
+ g_set_error (error,
+ GDK_PIXBUF_ERROR,
+ GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
+ _("Premature end-of-file encountered"));
+ }
+ retval = FALSE;
+ }
+
g_free(context->buff);
g_free(context);
- return TRUE;
+ return retval;
}